1

=======================================

-PRESS SPACEBAR TO QUIT-


:::::::::::::::::::::::::::::::::::::::
::*:::::::::::::::::::::::::::::::::*::
:::                                 :::
:::   DISK TIPS & TRICKS TUTORIAL   :::
:::             PART 1              :::
:::       INTRODUCTION TO DOS       :::
:::                                 :::
:::         BY CANDY APPLE          :::
:::                                 :::
::*:::::::::::::::::::::::::::::::::*::
:::::::::::::::::::::::::::::::::::::::

   *:::::::::::::::::::::::::::::::*
   ::       DISTRIBUTED BY        ::
   :: CRYSTAL CASTLE 313/856-3804 ::
   *:::::::::::::::::::::::::::::::*

THIS ARTICLE CONTAINS AN OVERVIEW OF
HOW A NORMAL DISK IS FORMATTED AND DIS-
CUSSES BRIEFLY THE TWO WAYS OF READING
A DISK. IT IS WRITTEN FOR THOSE WHO
AREN'T FAMILIAR WITH DOS OR FOR THOSE
WHO WANT A SHORT REVIEW ON DISK FORMAT-
TING, ETC.

FIRST LET'S START OFF WITH A LITTLE 
BACKGROUND ON HOW DOS FORMATS A DISK.
WHEN A DISK IS 'INIT'IALIZED BY DOS, IT
WILL DIVIDE IT INTO 35 CONCENTRIC 
TRACKS. IF YOU HAVE DOS 3.3, THEN EACH
TRACK WILL BE DIVIDED INTO 16 BLOCKS
CALLED SECTORS, WHEREAS DOS 3.2 WILL
CREATE 13 SECTORS.  ON EACH OF THESE 
SECTORS ARE AN ADDRESS MARK AND A DATA
MARK.

THE ADDRESS MARK WILL TELL DOS WHAT
TRACK AND SECTOR IT IS CURRENTLY READ-
ING. WITHIN THIS ADDRESS MARK, THE VOL-
UME, TRACK, SECTOR, AND CHECKSUM INFOR-
MATION CAN BE FOUND. THE DATA MARKS 
SURROUNDS THE ACTUAL DATA AND TELLS DOS
WHERE THE DATA BEGINS AND ENDS. IT ALSO
CONTAINS A CHECKSUM THAT'S USED TO VER-
IFY THE ACCURACY OF THE DATA.

THE TRACKS ARE NUMBERED FROM $00 (0-
DEC.) TO $22 (34-DEC.); WHEREAS THE 
SECTORS ARE NUMBERED FROM $00 (0) TO
$0F (15). THE DOS PROGRAM USES TRACKS
$00 THRU TRACKS $02 (A TOTAL OF 3 
TRACKS;0,1,2).

THE DOS ALLOWS THE APPLE TO MANIPULATE
DATA ON A DISKETTE. WITHIN THE DOS PRO-
GRAM ARE ALL OF THE COMMANDS THAT CON-
TROL THE DISKDRIVE (I.E.: CATALOG, 
INIT, LOAD...) AND THE ERROR MESSAGES
WHICH YOU HAVE PROBABLY SEEN BY NOW.

ON THE DISK CONTROLLER CARD THAT CON-
NECTS THE APPLE TO YOUR DISK DRIVE IS A
SMALL PROGRAM, SO THAT WHEN YOU BOOT A
DISK, IT WILL TELL THE DISK DRIVE TO
READ TRACK $00(0). THE PROGRAM ON TRK
$00, SCT $00 CONTAINS THE INFORMATION
TO READ IN SECTORS $00-$09 ON TRACK 
$00. THIS PROGRAM ON SECTORS $00-$09
WILL READ IN THE REMAINING INFORMATION
ON TRK $00-$02. IN OTHER WORDS, THE
APPLE HAS NOW LOADED THE DOS, AND DOS
WILL NOW TAKE OVER AND RUN THE PROGRAM
YOU HAVE INITIALIZED THE DISK WITH.

DOS FINDS THE HELLO PROGRAM BY GOING TO
THE VOLUME TABLE OF CONTENTS (VTOC) AND
DIRECTORY THAT'S LOCATED ON TRACK $11
(17). THE VTOC OR "BIT MAP" WILL SHOW
WHICH SECTORS ARE USED AND WHICH ARE
FREE. THE DIRECTORY BEGINS ON SECTOR 
$0F(15) AND CONTINUES ON DOWN TO SECTOR
$01(19). THE VTOC AND DIRCECTORY ARE 
USED BY DOS WHEN YOU SAVE OR DELETE A
FILE.

WITHIN THE DIRECTORY, YOU WILL FIND A
LIST OF ALL THE FILES FOUND ON THE 
DISK. EACH ENTRY CONTAINS A POINTER TO
THE TRACK/SECTOR LIST, FILE-LOCKED AND
FILE-TYPE CODE, FILE-NAME AND FILE-SIZE
WHICH WE'LL GO INTO MORE DETAIL LATER.
ACTUALLY THE TRK/SCT LIST IS A LIST OF
THE TRK/SCT PAIRS THAT STORE THAT FILE.
THAT'S WHY SAVING A BLANK FILE ALWAYS
TAKES 2 SECTORS BECAUSE ONE IS USED FOR
THE BLANK FILE AND ONE IS FOR THE TRK/
SCT LIST.

BECAUSE THE CATALOG TRACK IS IN THE 
CENTER OF THE DISK, THE ARM NEVER HAS 
TO TRAVEL MORE THEN 17 TRACKS TO GET TO
THE CATALOG TRACK. THEN AS FILES ARE 
ALLOCATED ON THE DISK, THEY WILL OCCUPY
THE TRACKS JUST ABOVE THE CATALOG FIRST
UNTIL IT REACHES TR $22(34), THEN IT 
WILL START USING THE TRACKS JUST BELOW
THE CATALOG $10(16), THEN TRACK $0F(15)
ETC, MOVING TOWARDS THE DOS IMAGE 
TRACKS.

ANOTHER THING THAT'S INTERESTING TO 
KNOW IS THAT WHEN YOU 'SAVE' OR 'BSAVE'
A PROGRAM, DOS WILL TOTALLY ALTER THE
PROGRAM CODE BEFORE IT IS WRITTEN TO 
THE DISK. THEN WHEN YOU 'LOAD' OR 'RUN'
THAT PROGRAM, DOS WILL CHANGE IT BACK
AGAIN TO ITS ORIGINAL FORM, ALTHOUGH
THE USER NEVER NOTICES THIS PROCESS.

YOU MIGHT WONDER WHY DOS GOES TO ALL 
THIS EXTRA TROUBLE? ACTUALLY THE AP-
PLE'S HARDWARE (AND THAT OF OTHER MA-
CHINES) HAS SOME LIMITATIONS WHICH RE-
STRICT THE RANGE OF BYTE VALUES THAT 
CAN BE ALLOWED TO PASS BETWEEN THE MA-
CHINE AND ITS DISK DRIVES.

IF YOU TYPE "CALL -151" AND LIST A 
RANGE OF MEMORY (SAY 'F800.FFFF'), YOU
WILL NOTICE THAT ALMOSE EVERY BYTE 
VALUE FROM $00 TO $FF CAN BE SEEN 
SCROLLING BY. EVERYTHING THAT'S STORED
IN RAM SUCH AS PROGRAMS, TEXT FILES, 
ETC.., IS REPRESENTED BY A BLOCK OF 
HEX VALUES IN THIS RANGE. THIS MEANS
THAT THE APPLE HAS 256 DIFFERENT BYTE
VALUES TO USE FOR REPRESENTING INFOR-
MATION IN MEMORY (THERE ARE 256 DIFFER-
ENT HEX NUMBERS IN THE RANGE OF $00 TO
$FF).

UNFORTUNATELY, WHEN THE APPLE COMMUNI-
CATES WITH THE DISK DRIVES, IT CAN'T 
HANDLE SUCH A LARGE RANGE OF VALUES DUE
TO HARDWARE CONSTRAINTS. DOS 3.3 CAN
ONLY SEND TO THE DISK OR RECIEVE FROM
IT THE VALUES $96 TO $FF (150 TO 256).
EVEN SOME OF THESE BYTES WITHIN THAT
RANGE ARE ILLEGAL BECAUSE THEY VIOLATE
APPLE HARDWARE RULES, AND OTHERS ARE
RESERVED FOR SPECIAL DISK USE. ACTUALLY
DOS 3.3 HAS TO REPRESENT ALL 256 DIF-
FERENT VALUES THAT APPEAR IN RAM USING
ONLY 64 VALUES ON THE DISK. EARLIER 
VERSIONS OF DOS HAD TO MAKE DO WITH A 
SMALLER RANGE OF DISK BYTES.

THERE ARE 2 WAYS OF READING A DISK:
   1) A RAW NIBBLE DUMP
   2) AN RWTS READ.
"RAW NIBBLES" REFERS TO INFORMATION EX-
ACTLY AS IT IS REPRESENTED ON DISK - IN
THE SPECIALLY ENCODED FORM DESCRIBED 
ABOVE.

IF YOU EXAMINE THIS DATA WITH A RAW
NIBBLE DUMP YOU WILL NOTICE (ON A DOS
3.3 DISK) THAT THE HEX NUMBERS WILL BE
BETWEEN THE VALUES $96 TO $FF. THIS IS
HARDLY RECOGNIZABLE AS PROGRAM OR TEXT
FILE CODE. YOU WILL ALSO SEE DOZENS OF 
HEX NUMBERS WHICH HELP DOS DO ITS JOB
IN GETTING INFORMATION ON AND OFF THE
DISK. THESE "DOS MARKS" WILL TELL YOU
A GREAT DEAL ABOUT THE DISK AND WILL
BE COVERED IN A LATER TUTORIAL.

THE OTHER WAY A DISK IS READ IS THROUGH
A SUBROUTINE IN DOS CALLED "READ AND
WRITE TRACKS AND SECTORS" OR OTHERWISE
KNOWN AS RWTS. THIS ROUTINE PUTS DATA
(WRITES) ON THE DISK AND GETS IT BACK
(READS). ONE OF ITS IMPORTANT JOBS IS
TO TRANSLATE THE RAW NIBBLES FROM THE
DISK INTO INTELLIGIBLE CODE FOR APPLE
ROMS AND PROGRAMMERS.

THE RWTS WILL ALSO FILTER OUT THE DOS
MARKS REFEREED TO EARLIER, BECAUSE ONCE
THE PROGRAM IS LOADED INTO MEMORY, THE
DATA MARKS SERVE NO PURPOSE AND SO THEY
ARE DISCARDED AFTER BEING PICKED UP BY
THE READ/WRITE HEAD. JUST REMEMBER THAT
WHEN DOS LOADS AND RUNS ANY PROGRAM, IT
WILL AUTOMATICALLY PERFORM AN RWTS READ
TO GET THE PROGRAM INTO MEMORY, WHEREAS
A RAW NIBBLE DUMP COMES DIRECTLY FROM
THE DISK AND BYPASSES RWTS AND DOS
ENTIRELY.

IN THE NEXT TUTORIAL, WE'LL GET DOWN TO
BUSINESS AND START EXAMINING THE VTOC 
AND ITS INNER WORKINGS.

INCLUDED BELOW IS A HEX, BINARY, DECI-
MAL CHART WHICH MIGHT PROVE USEFUL TO
YOU IN LATER TUTORIALS.

  HEX    BINARY   DECIMAL

   0   0000 0000    0
   1   0000 0001    1
   2   0000 0010    2
   3   0000 0011    3
   4   0000 0100    4
   5   0000 0101    5
   6   0000 0110    6
   7   0000 0111    7
   8   0000 1000    8
   9   0000 1001    9
   A   0000 1010   10
   B   0000 1011   11
   C   0000 1100   12
   D   0000 1101   13
   E   0000 1110   14
   F   0000 1111   15

  10   0001 0000   16
  20   0010 0000   32
  3F   0011 1111   63
  40   0100 0000   64
  7F   0111 1111  127
  80   1000 0000  128
  AA   1010 1010  170
  C0   1100 0000  192
  E8   1110 1000  232
  FE   1111 1110  254
  FF   1111 1111  255



